var prefix = getProjectName()+"/agent";
$(function () {
    load();
});

function load() {
    console.log(prefix)
    $('#exampleTable')
        .bootstrapTable(
            {
                method: 'get', // 服务器数据的请求方式 get or post
                url: prefix + "/list", // 服务器数据的加载地址
                	// showRefresh : true,
                	// showToggle : true,
                	// showColumns : true,
                iconSize: 'outline',
                toolbar: '#exampleToolbar',
                striped: true, // 设置为true会有隔行变色效果
                dataType: "json", // 服务器返回的数据类型
                pagination: true, // 设置为true会在底部显示分页条
                singleSelect: false, // 设置为true将禁止多选
                // contentType : "application/x-www-form-urlencoded",
                // //发送到服务器的数据编码类型
                pageSize: 10, // 如果设置了分页，每页数据条数
                // pageList: [10,30,50,100],
                pageNumber: 1, // 如果设置了分布，首页页码
                //search : true, // 是否显示搜索框
                // showColumns: true, // 是否显示内容下拉框（选择显示的列）
                sidePagination: "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
                queryParamsType: "",

                showExport: true,//显示导出按钮
                exportDataType: "selected",//导出所选择的数据
                exportTypes: ['excel'],//到处excel
                Icons: 'fa-caret-square-down',//导出按钮图标
                exportOptions:{
                    ignoreColumn: [0,8],  //忽略某一列的索引
                    fileName: '经销商列表',  //文件名称设置
                    worksheetName: '经销商列表',  //表格工作区名称
                    tableName: '经销商列表',
                    excelstyles: ['background-color', 'color', 'font-size', 'font-weight'],
                    // onMsoNumberFormat: DoOnMsoNumberFormat
                },
                // //设置为limit则会发送符合RESTFull格式的参数
                queryParams: function (params) {
                    return {
                        //说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                        pageNumber: params.pageNumber,
                        pageSize: params.pageSize,
                        searchKey:$('#searchKey').val(),
                        // username:$('#searchName').val()
                    };
                },
                // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
                // queryParamsType = 'limit' ,返回参数必须包含
                // limit, offset, search, sort, order 否则, 需要包含:
                // pageSize, pageNumber, searchText, sortName,
                // sortOrder.
                // 返回false将会终止请求
                responseHandler: function (res) {
                    console.log(res);
                    return {
                        "total": res.data.total,//总数
                        "rows": res.data.records   //数据
                    };
                },
                columns: [
                    {
                        checkbox: true
                    },
                    {
                        field: 'agentId',
                        title: '编号'
                    },
                    {
                        field: 'agentName',
                        title: '经销商名称'
                    },
                    {
                        field: 'linkman',
                        title: '联系人'
                    },
                    {
                        field: 'tel',
                        title: '联系电话'
                    },
                    {
                        field: 'address',
                        title: '收货地址'
                    },
                    {
                        field: 'createDate',
                        title: '创建时间',
                        formatter: function (value, row, index) {
                            if (value){
                                var date = new Date(value)
                                var result = DateFormat.format(date,'yyyy-MM-dd')
                                return result
                            }
                            return "-";
                        }
                    },
                    {
                        field: 'status',
                        title: '状态',
                        align: 'center',
                        formatter: function (value, row, index) {
                            if (value === 1) {
                                return "<span class='label label-success'>可用</span>";
                            } else {
                                return "<span class='label label-danger'>冻结</span>";
                            }
                        }
                    },
                    {
                        title: '操作',
                        align: 'center',
                        formatter: function (value, row, index) {
                            var text = "";
                            text += '<a class="btn btn-primary btn-sm ' + s_edit_h + '" title="编辑" onclick="edit(' + row.agentId + ')"><i class="fa fa-edit"></i></a> ';
                            if (row.status === 1) {
                                text += '<a class="btn btn-warning btn-sm ' + s_change_h + '" title="冻结" onclick="lock(' + row.agentId + ', true)"><i class="fa fa-lock"></i></a> ';
                            } else {
                                text += '<a class="btn btn-success btn-sm ' + s_change_h + '" title="激活" onclick="lock(' + row.agentId + ', false)"><i class="fa fa-unlock"></i></a> ';
                            }
                            return text;
                        }
                    }]
            });
}

function reLoad() {
    $('#exampleTable').bootstrapTable('refresh');
}

function add() {
    layer.open({
        type: 2,
        title: '增加',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['800px', '520px'],
        content: prefix + '/view/add' // iframe的url
    });
}

function edit(id) {
    layer.open({
        type: 2,
        title: '编辑',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['800px', '520px'],
        content: prefix + '/view/edit/' + id // iframe的url
    });
}

function lock(agent_id, lock) {
    var status = lock ? 0 : 1;
    var message = lock ? "确定要冻结选中的记录?" : "确定要激活选中的记录?";
    layer.confirm(message, {
        btn: ['确定', '取消']
    }, function () {
        $.ajax({
            url: prefix + "/status/change",
            type: "post",
            data: {
                'agentId': agent_id,
                status: status
            },
            success: function (r) {
                if (r.code == 0) {
                    layer.msg(r.msg);
                    reLoad();
                } else {
                    layer.msg(r.msg);
                }
            }
        });
    })
}